<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      /* 
    Promise.all 作用    可以等待传递它的所有的 promise 方法都完成， Promise.all 就可以触发 then 方法 
    Promise.all([promise1,promise2,promise3,promise4])
    .then(()=>{
      // 业务
    })
     */
    async function init(){
      const result =await Promise.all([fn1(), fn2(), fn3()]).then((res) => {
        console.log("都完成啦",res);
      });
      console.log(result);
    }
    init()

      function fn1() {
        return new Promise((reslove, reject) => {
          setTimeout(() => {
            console.log("f1 1s完成");
            reslove();
          }, 1000);
        }).then(res=>{
          return 123
        });
      }
      function fn2() {
        return new Promise((reslove, reject) => {
          setTimeout(() => {
            console.log("f2 2s完成");
            reslove();
          }, 2000);
        });
      }
      function fn3() {
        return new Promise((reslove, reject) => {
          setTimeout(() => {
            console.log("f3 3s完成");
            reslove();
          }, 3000);
        });
      }
    </script>
  </body>
</html>